<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.*"%>
<%@page import="java.net.*"%>
<%@page import="proyectoCisco.Router"%>
<%@page import="proyectoCisco.Red"%>
<%@page import="proyectoCisco.RedRouter"%>
<%@page import="proyectoCisco.claseBBDD"%>

<html>
    <head>
        <link href="estilos.css" rel="stylesheet" type="text/css">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Listado de redes disponibles</title>
        <script type="text/javascript">

        function MostrarFilas(Fila) {
            // Almacenamos en "elementos" el objeto "Fila" recibido como parámetro
            var elementos = document.getElementsByName(Fila);

            // Recorremos todas las filas y las mostramos
            // detectando el Navegador para usar la nomenclatura apropiada
            for (i = 0; i < elementos.length; i++)
            elementos[i].style.display ="";
        }

        function OcultarFilas(Fila) {
            // Almacenamos en "elementos" el objeto "Fila" recibido como parámetro
            var elementos = document.getElementsByName(Fila);

            // Recorremos todas las filas y las ocultamos
            // Para ocultar no es necesario detectar navegador pues
            // la nomenclatura es la misma para los Navegadores
            for (k = 0; k < elementos.length; k++)
            elementos[k].style.display = "none";
        }

</script>

    </head>

    <body>
        <%
        ArrayList<Router> listaRoutersUsuario = new ArrayList<Router>();
        ArrayList<Red> listaRedes = new ArrayList<Red>();
        ArrayList<Router> listaRoutersRed = null;
        claseBBDD baseDatos = new claseBBDD();

        if (session.getAttribute("login") != null && ((String) session.getAttribute("login")).length() > 0) {
            String idUsuario = (String) session.getAttribute("login");
            listaRoutersUsuario = baseDatos.ObtenerRouters(idUsuario);
            listaRedes=baseDatos.ObtenerRedes();

            for(int i=0;i<listaRoutersUsuario.size();i++)
            {
                listaRoutersUsuario.get(i).setNombre(baseDatos.obtenerNombreRouter(listaRoutersUsuario.get(i).getIp()));
            }

        %>
        <form action="gestionRouter.jsp" method="get" name="router">
            <fieldset>
            <legend>Listado de redes</legend>
            <table width="400" border="1" id="tablaRouters">
                <caption> Redes disponibles </caption>
                <%
                    for(int m = 0; m < listaRedes.size(); m++) {
                        listaRoutersRed = new ArrayList<Router>();
                        listaRoutersRed = baseDatos.ObtenerRoutersRed(listaRedes.get(m).getNombre());
                        int contadorFilas=0;
                %>

                <thead>
                    <tr align="center">
                        <th colspan="3" width="138" id="red">Red <%=listaRedes.get(m).getNombre()%> </th>
                        <th id="red"> <a href="javascript:MostrarFilas(<%=m%>)"><img src="images/abajo.gif" style="border:0px;border-collapse:collapse" title="Mostrar"> </img> </a> </th>
                        <th id="red"> <a href="javascript:OcultarFilas(<%=m%>)"><img src="images/arriba.gif" style="border:0px;border-collapse:collapse" title="Ocultar"> </img> </a>
                        </th>
                    </tr>
                    <tr name="<%=m%>" id="<%=m%>" style="display:none">
                        <th width="138" align="center">IP</th>
                        <th width="138" align="center">NOMBRE</th>
                        <th colspan="3" width="138" align="center">Actividad</th>
                    </tr>
                </thead>
                <%
            for (int i = 0; i < listaRoutersUsuario.size(); i++) {
                if(baseDatos.estaAsignadoRouterALista(listaRoutersUsuario.get(i), listaRoutersRed))
                {
                    contadorFilas++;
                %>
                <tbody name="<%=m%>" id="<%=m%>" style="display:none">
                    <td> <a
                    <%
                        int accesible=0;
                        InetAddress in;
                        //Definimos la ip de la cual haremos el ping
                        in = InetAddress.getByName(listaRoutersUsuario.get(i).getIp());
                        //Definimos un tiempo en el cual ha de responder
                        if (in.isReachable(500)) {
                            accesible=1;
                        %>
                        href="gestionRouter.jsp?ip=<%=listaRoutersUsuario.get(i).getIp()%>" title="Accesible"
                        <%
                        }
                        else {
                        %>
                        href="#" title="No accesible"
                        <% }
                    %>
                    >
                     <%=listaRoutersUsuario.get(i).getIp()%> </a> </td>
                    <td width="138" align="center"> <%=listaRoutersUsuario.get(i).getNombre()%> </td>
                    <th colspan="3" width="138" align="center"
                        <%
                        if (accesible==1) {
                        %>
                        bgcolor="#00FF00" style="color:black;font-size:13px;"> Accesible
                        <%
                        }
                        else {
                        %>
                        bgcolor="#FF0000" style="color:black;font-size:13px;"> Inaccesible
                        <% } %>
                    </th>
                </tbody>
                <%
                }
              }
                if(contadorFilas>0)
                {
                %>
                <thead>
                    <tr name="<%=m%>" id="<%=m%>" style="display:none">
                        <th width="138" align="center" colspan="5">
                          <%
                        String nombreImagen="images/redes/"+listaRedes.get(m).getNombre()+".jpg";
                        %>
                         <img src="<%=nombreImagen%>" style="border:0px;" height="300px" width="450" title="Ampliar" align="right" onclick="window.open ('<%=nombreImagen%>', 'child', 'height=500,width=400,resizable'); return false">
                        </th>
                    </tr>
                </thead>
                <%
                }
            }
                %>
            </table>
          </fieldset>
        </form>
        <%
        }
        else {
        %>
        <META HTTP-EQUIV="REFRESH" CONTENT="1;URL=error.jsp">
        <%        }
        %>
    </body>
</html>
